/*
 * Evento.java
 * 
 * Projeto: Kruskal - SRAC
 * LEDS - Laboratório de Engenharia e Desenvolvimento de Software
 * IFES - Instituto Federal do Espírito Santo - Campus Serra.
 */
package srac.controleeventos.cdp;

import java.util.Calendar;
import javax.persistence.*;
import srac.controleatividades.cdp.TipoAtividade;
import util.utilitarioEndereco.cdp.Endereco;
import util.utilitarioPersistencia.ObjetoPersistente;

@Entity
public class Evento extends ObjetoPersistente {
    private String nome;
    private Calendar data;
    private Integer vagas;
    private String codigo;
    private StatusEvento statusEvento;
    private Endereco endereco;
    private TipoEvento tipo;

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    @Temporal(javax.persistence.TemporalType.DATE)
    public Calendar getData() {
        return data;
    }

    public void setData(Calendar data) {
        this.data = data;
    }

    @ManyToOne(cascade = CascadeType.PERSIST)
    @JoinColumn(nullable = true)
    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Enumerated(EnumType.STRING)
    public StatusEvento getStatusEvento() {
        return statusEvento;
    }

    public void setStatusEvento(StatusEvento statusEvento) {
        this.statusEvento = statusEvento;
    }

    public Integer getVagas() {
        return vagas;
    }

    public void setVagas(Integer vagas) {
        this.vagas = vagas;
    }

    @OneToOne
    public TipoEvento getTipo() {
        return tipo;
    }

    public void setTipo(TipoEvento tipo) {
        this.tipo = tipo;
    }
    
    @Override
    public String toString() {
        return this.nome;
    }
}